import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class TCPClient {

    public static void main(String[] args) {
        String serverAddress = "192.168.0.200"; // 服务器地址
        int port = 9096; // 服务器端口号

        // MySQL数据库连接信息
        String dbURL = "jdbc:mysql://127.0.0.1:3306/ry-vue?useSSL=false&serverTimezone=UTC"; // 替换为你的数据库名称
        String dbUser = "root"; // 替换为你的数据库用户名
        String dbPassword = "DzjcMysql@123456."; // 替换为你的数据库密码

        try {

            // Load MySQL JDBC driver
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 连接到MySQL数据库
            Connection connection = DriverManager.getConnection(dbURL, dbUser, dbPassword);
            Statement statement = connection.createStatement();
            String query = "SELECT * FROM surf_kafkadata"; // 查询表数据
            ResultSet resultSet = statement.executeQuery(query);

            // 连接到服务器
            try (Socket socket = new Socket(serverAddress, port)) {
                System.out.println("已连接到服务器");

                // 创建输入输出流
                BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

                // 循环读取数据库中的数据，并将每一行发送到服务器
                while (resultSet.next()) {
                    String data = resultSet.getString("status"); // 替换为你表中的列名
                    out.println(data);  // 发送数据到服务器
                    System.out.println("已发送数据: " + data);
                }

                // 接收服务器的响应
                String serverResponse = in.readLine();
                System.out.println("收到服务器响应: " + serverResponse);

            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                // 关闭数据库连接
                resultSet.close();
                statement.close();
                connection.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
